列表相等只需关心元素数据
Updated:
Contents
参考:《改善java程序的151个建议》1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16public class Lian4 {
public static void main(String[] args){
List<Integer> list1 = new ArrayList<Integer>();
List<Integer> list2 = new LinkedList<Integer>();
list1.add(123);
list2.add(123);
list1.add(456);
list2.add(456);
System.out.println(list1.equals(list2));
}
}
这里只要求实现了List接口就行,他不关心List的具体实现类,只要所有元素相等,并且长度也相等就表明两个List是相等的,与具体的容器类型无关。
Java如此处理也确实是在为开发者考虑,列表知识一个容器,只要是同一种类型的容器(如List),不用关心容器的细节差别(如ArrayList和LinkedList),只要确定所有的元素数据相等,那两个列表就相等的。
其他集合类型,如Set,Map等也是如此。